package com.cgy.utils.jmx.jvm.utils;

import org.apache.commons.lang3.StringUtils;

import java.text.DecimalFormat;

/**
 * @author CHTK
 */
public class SizeUtils {


    /**
     * 返回byte的数据大小对应的文本
     *
     * @param size
     * @return
     */
    public static String getDataSize(long size) {
        DecimalFormat formater = new DecimalFormat("####.00");
        if (size < 1024) {
            return size + "bytes";
        } else if (size < 1024 * 1024) {
            float kbsize = size / 1024f;
            return formater.format(kbsize) + "KB";
        } else if (size < 1024 * 1024 * 1024) {
            float mbsize = size / 1024f / 1024f;
            return formater.format(mbsize) + "MB";
        } else {
            float gbsize = size / 1024f / 1024f / 1024f;
            return formater.format(gbsize) + "GB";
        }
    }

    /**
     *
     * @param value
     * @param max
     * @return
     */
    public static String format(long value, long max) {
        DecimalFormat decimalFormat = new DecimalFormat("00.00%");
        double vm = (double)value / max;
        return decimalFormat.format(vm);
    }
}
